#ifndef GAME_OBJECT_H
#define GAME_OBJECT_H

// Direct2D Helper Macros:
#define D2DColor(clr) D2D1::ColorF(D2D1::ColorF::clr)

#include "PhysicsObject.h"
#include <d2d1.h>
#pragma comment(lib, "d2d1.lib")

enum Alignment
{
	LEFT		= 1,
	RIGHT		= 2,
	X_CENTER	= 4,
	TOP			= 8,
	BOTTOM		= 16,
	Y_CENTER	= 32,
};

class GameObject{
private:

public:
	virtual void Render(ID2D1HwndRenderTarget* render) = 0;
	virtual void Update(long elapsedTime) = 0;
	virtual D2D1_SIZE_F getPosition(){return position;}
	void Align(int _align);
	void Align(D2D1_POINT_2F _center);
	Alignment GetCurrentAlignment(){return align;}

	PhysicsObject phyObj;
	Alignment align;
	D2D1_SIZE_F size;
	D2D1_SIZE_F	position;
};


#endif